# -*- coding: utf-8 -*-
"""
@Time    : 2024/6/28 15:02 
@Author  : ZhangShenao 
@File    : filter_function.py 
@Desc    : filter函数
内置的filter(function, iterable)函数，表示对Iterable可迭代对象中的每个元素,都使用function进行判断,将所有判断结果为True的元素组成一个新的可遍历的集合
"""

# 使用filter()函数,获取长度为奇数的字符串列表,返回一个Iterator
odd_len_strs = filter(lambda x: len(x) % 2 == 1, ['a', 'b', 'cd', 'efg', 'hig', 'klmn', 'opqr', 'stuv', 'wxy', 'z'])
for s in odd_len_strs:
    print(s)

# 使用filter()函数,获取list中的偶数
even_nums = list(filter(lambda x: x % 2 == 0, range(0, 20)))
print(even_nums)  # [0, 2, 4, 6, 8, 10, 12, 14, 16, 18])
